home *** CD-ROM | disk | FTP | other *** search
/ The Arsenal Files 8 / The Arsenal Files Collection #8 (Arsenal Computer) (1996).ISO / prg_gen / euphor14.zip / C.DOC < prev    next >
Text File  |  1996-05-20  |  4KB  |  92 lines

  1. An important message for all C/C++ programmers...
  2.  
  3.      25 Reasons Why You Are Going to Write Your Next Program in Euphoria! 
  4.  
  5. - because you are tired of having to re-invent dynamic storage allocation 
  6.   for each program that you write
  7.  
  8. - because you want to break free, once and for all, from the MS-DOS 
  9.   640K memory limit
  10.  
  11. - because you'd like to forget about near pointers and far pointers, and the 
  12.   small, medium, compact, large and huge memory models
  13.  
  14. - because you have spent too many frustrating hours tracking down malloc 
  15.   arena corruption bugs 
  16.  
  17. - because you were once plagued for several days by an on-again/off-again
  18.   "flaky" bug that eventually was traced to an uninitialized variable
  19.  
  20. - because no matter how hard you try to eliminate them, there is always 
  21.   one more storage "leak"
  22.  
  23. - because you are tired of having the machine "lock up", or your program
  24.   come crashing down in flames with no indication of what the error was
  25.  
  26. - because you know that subscript checking would have saved you from hours
  27.   of debugging
  28.  
  29. - because your program should not be allowed to overwrite random areas in 
  30.   memory via "wild" pointers
  31.  
  32. - because you know it would be bad to overflow your fixed-size stack area
  33.   but you have no idea of how close you are
  34.  
  35. - because one time you had this weird bug, where you called a function,
  36.   that didn't actually return a value, but instead fell off the end
  37.   and some random garbage was "returned"
  38.  
  39. - because you wish that library routines would stop you from passing
  40.   in bad arguments, rather than just setting "errno" or whatever
  41.   (who looks at errno after every call?)
  42.  
  43. - because you would like to "recompile the world" in a fraction of a second
  44.   rather than several minutes -- you can work much faster with a cycle of
  45.   edit/run rather than edit/compile/link/run.
  46.  
  47. - because you have been programming in C/C++ for a long time now, but there
  48.   are still a lot of weird features in the language that you don't feel
  49.   confident about using
  50.  
  51. - because portability is not as easy to achieve as it should be
  52.  
  53. - because you know the range of legitimate values for each of your variables,
  54.   but you have no way of enforcing this at runtime  
  55.  
  56. - because you would like to pass variable numbers of arguments, but
  57.   you are put off by the complicated way of doing it in C
  58.  
  59. - because you would like a clean way of returning multiple values
  60.   from a function
  61.  
  62. - because you want an integrated full-screen source-level debugger 
  63.   that is so easy to use and remember that you don't have to search
  64.   through the manual each time, (or give up and recompile with 
  65.   printf statements)
  66.  
  67. - because you hate it when your program starts working just because you
  68.   added a debug print statement or compiled with the debug option
  69.  
  70. - because you would like a reliable, accurate statement-level profile
  71.   to understand the internal dynamics of your program, and to boost performance
  72.  
  73. - because few of your programs have to squeeze every cycle of performance out
  74.   of your machine. The speed difference between Euphoria and C/C++ is not as 
  75.   great as you might think. Try some benchmark tests. We bet you'll be 
  76.   surprised!
  77.  
  78. - because you'd rather not clutter up your hard disk with .obj and .exe
  79.   files
  80.  
  81. - because you'd rather be running your program, than wading through several 
  82.   hundred pages of documentation to decide what compiler and linker options 
  83.   you need
  84.  
  85. - because your C/C++ package has 57 different routines for memory allocation, 
  86.   and 67 different routines for manipulating strings and blocks of memory. How 
  87.   many of these routines does Euphoria need?  Answer: zero. In Euphoria, 
  88.   memory allocation happens automatically and strings are manipulated just 
  89.   like any other sequences. 
  90.  
  91.  
  92.